package com.bestcem.xm.label.entity.pojo;

import com.bestcem.xm.label.entity.mysql.LabelValueEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.Date;

/**
 * 标签值DO
 *
 * @author zh.zhang <zh.zhang@idiaoyan.com>
 * @version v1.0
 * @date 2021-09-23
 */
@Getter
@Setter
@ToString
public class LabelValueDO {

    /**
     * 主键
     */
    private String labelValueId;

    /**
     * 组织id
     */
    private String orgId;

    /**
     * 标签值
     */
    private String value;

    /**
     * 序号
     */
    private Integer seq;

    /**
     * 标签id
     */
    private String labelId;

    /**
     * 动态条件
     */
    private String condition;

    /**
     * 联系人类型 0-个人联系人 1-机构联系人 2-内部联系人
     */
    private Integer memberType;

    /**
     * 是否手动打标签 0-false 1-true
     */
    private Integer manual;

    /**
     * 是否自动打标签 0-false 1-true
     */
    private Integer auto;

    /**
     * 标签名称
     */
    private String labelName;

    /**
     * 标签组id
     */
    private String labelGroupId;

    /**
     * 标签组名称
     */
    private String labelGroupName;

    /**
     * 是否样例数据 0 否 1 是
     */
    private Integer isSample;

    /**
     * 创建时间(北京时间)
     */
    private Date createTime;

    /**
     * 更新时间(北京时间)
     */
    private Date updateTime;

    public static LabelValueDO toDo(LabelValueEntity entity) {
        if (entity == null) {
            return null;
        }

        LabelValueDO labelValueDO = new LabelValueDO();
        labelValueDO.setAuto(entity.getAuto());
        labelValueDO.setCondition(entity.getCondition());
        labelValueDO.setCreateTime(entity.getCreateTime());
        labelValueDO.setLabelGroupId(entity.getLabelGroupId());
        labelValueDO.setLabelGroupName(entity.getLabelGroupName());
        labelValueDO.setLabelId(entity.getLabelId());
        labelValueDO.setLabelName(entity.getLabelName());
        labelValueDO.setLabelValueId(entity.getLabelValueId());
        labelValueDO.setManual(entity.getManual());
        labelValueDO.setMemberType(entity.getMemberType());
        labelValueDO.setOrgId(entity.getOrgId());
        labelValueDO.setSeq(entity.getSeq());
        labelValueDO.setUpdateTime(entity.getUpdateTime());
        labelValueDO.setValue(entity.getValue());
        labelValueDO.setIsSample(entity.getIsSample());
        return labelValueDO;
    }

    public static LabelValueEntity toEntity(LabelValueDO labelValueDO) {
        if (labelValueDO == null) {
            return null;
        }

        LabelValueEntity labelValueEntity = new LabelValueEntity();
        labelValueEntity.setAuto(labelValueDO.getAuto());
        labelValueEntity.setCondition(labelValueDO.getCondition());
        labelValueEntity.setCreateTime(labelValueDO.getCreateTime());
        labelValueEntity.setLabelGroupId(labelValueDO.getLabelGroupId());
        labelValueEntity.setLabelGroupName(labelValueDO.getLabelGroupName());
        labelValueEntity.setLabelId(labelValueDO.getLabelId());
        labelValueEntity.setLabelName(labelValueDO.getLabelName());
        labelValueEntity.setLabelValueId(labelValueDO.getLabelValueId());
        labelValueEntity.setManual(labelValueDO.getManual());
        labelValueEntity.setMemberType(labelValueDO.getMemberType());
        labelValueEntity.setOrgId(labelValueDO.getOrgId());
        labelValueEntity.setSeq(labelValueDO.getSeq());
        labelValueEntity.setUpdateTime(labelValueDO.getUpdateTime());
        labelValueEntity.setValue(labelValueDO.getValue());
        labelValueEntity.setIsSample(labelValueDO.getIsSample());
        return labelValueEntity;
    }

}
